/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package src.commands;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import src.Command;
import src.ListaUsuarios;
import src.Permisos;
import src.Usuario;
import src.exceptions.eBorrarUsuario;
import src.exceptions.eSessionNoValida;

/**
 *
 * @author pabloavila
 */

/*
 * El usuario se borra si:
 * 1) Esta en la lista
 * 2) El admin lo decide desde el menu de administracion
 */
public class DoRemoveUser implements Command{

    // Atributos necesarios para borrar un usuario
    private String n;
    private ListaUsuarios lu;
    HttpSession ses;

    public DoRemoveUser(HttpServletRequest request, HttpServletResponse response) {
        // Intentamos coger los parametros que nos interesan
        // Que son un usuario y la lista de usuarios
        this.ses = request.getSession(false);
        this.n = (String) ses.getAttribute("del"); // OJO!!
        this.lu = (ListaUsuarios) ses.getAttribute("ses_list");

    }   

    @Override
    public void Execute() {
        // Eliminar el usuario a la lista
        try {
            if (this.ses != null && this.n != null && !this.n.equals("")){
                
                this.lu.borrarUsuario(n);
                ses.setAttribute("ses_notify","Usuario borrado con exito");
                ses.setAttribute("ses_sign",true);
                
                }
            else {
                ses.setAttribute("ses_notify", "Error al borrar el usuario");
                ses.setAttribute("ses_sign",false);
                throw new eSessionNoValida("Error al borrar el usuario");
            }
            }
        catch (eBorrarUsuario ex) {
            // Coger la excepcion
        }
        catch (eSessionNoValida ex){
            // Coger la excepcion
        }
    }

}
